const path = require("path");

module.exports = {
  //publicPath ：这个值也可以被设置为空字符串 ('') 或是相对路径 ('./')，
  // 这样所有的资源都会被链接为相对路径，这样打出来的包可以被部署在任意路径。
  // publicPath: './',
  publicPath: process.env.NODE_ENV === 'production'? '/production-sub-path/':'/',
  //assetsDir：放置生成的静态资源 (js、css、img、fonts) 的目录。总目录名字叫：static，里面包含子目录，css,img,js三个文件夹。
  assetsDir: 'static',
  //indexPath：指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径，也可以将打包的index.html文件文字改成school,html
  indexPath: 'index.html',
  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,
  // 生产环境是否生成 sourceMap 文件
  productionSourceMap: false,
  // css相关配置
  css: {
    // 是否使用css分离插件 ExtractTextPlugin
    extract: true,
    // 开启 CSS source maps?
    sourceMap: false,
  },
  pages: {
    index: {
        // page 的入口
        entry: 'src/main.js',
        // 模板来源
        template: 'public/index.html',
        // 在 dist/index.html 的输出
        filename: 'index.html',
        // 当使用 title 选项时，
        // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
        title: 'WorkingPlat',
        // 在这个页面中包含的块，默认情况下会包含
        // 提取出来的通用 chunk 和 vendor chunk。
        chunks: ['chunk-vendors', 'chunk-common', 'index']
      },
      // 当使用只有入口的字符串格式时，
      // 模板会被推导为 `public/subpage.html`
      // 并且如果找不到的话，就回退到 `public/index.html`。
      // 输出文件名会被推导为 `subpage.html`。
      // subpage: 'src/subpage/main.js',
  },
  // webpack配置
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.m?js$/,
          // exclude用上面配置的话，默认是过滤不编译node_modules 路径下的文件
          // exclude: /(node_modules|bower_components)/,
          // include 指定需要编译的路径
          include: [
            path.resolve('src'),
            path.resolve('node_modules/xe-utils'),
            path.resolve('node_modules/vxe-table'),
            // resolve('node_modules/vxe-table-plugin-iview'),
          ],
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env']
            }
          },
        },
      ]
    }
  },

  transpileDependencies: [
    'vuetify',
    { src: '@/plugins/vue-mavon-editor', ssr: false }
  ],
  
  devServer: {
    open: true, // 是否打开浏览器
    host: '0.0.0.0',
    port: '8080', // 代理端口
    hotOnly: false, // 热更新
    https: false,
    proxy: {
      '/api': {
        // 此处的写法，目的是为了 将 /api 替换成
        target: 'http://127.0.0.1:8001',
        // 允许跨域
        changeOrigin: true,
        // secure: false, // https接口
        ws: true,
        pathRewrite: {
          '^/api': ''
        }
      },
      '/pict': {
        // 此处的写法，目的是为了 将 /api 替换成
        target: 'http://127.0.0.1:8000',
        // 允许跨域
        changeOrigin: true,
        pathRewrite: {
          '^/pict': ''
        }
      },
    }
  }, 
}
